
"""
在外部函数func 感知不到内部函数func2的存在,拿不到2里面的东西，外部执行不了，要执行只能进入内部，
那现在呢， 把内部函数的名称返回，在外部拿到了里面的函数，外部执行返回内部的东西，并且内部的东西还在被使用的过程中， 内部的内存空间不会释放，
做一个这样的效果，外部的函数执行内部的函数，并且还可以使用内部函数作用域里面所有的值，这个现象就叫闭包

在函数里面嵌套了一个函数，在外部函数执行时，返回子函数的内存地址，在子函数执行时，又引用了子函数外部的变量，

关于闭包，即函数定义和函数表达式位于另一个函数的函数体内。二期浙西内部函数可以访问他们所在外部函数中声明的所有变量，参数。
 当其中一个这样的内部函数在包含他们的外部函数之外被调用时，就形成闭包


 
"""

def func():
    n = 10

    def func2():
        print("func2:",n)
    return func2

f = func()
print(f)

f()